#ifndef FINDANSWER5_H_
#define FINDANSWER5_H_

#include "highgui.h"
#include "cv.h"
#include "cxcore.h"
#include "cvaux.h"
#include "Auxiliar.h"
#include "PreProcessamento.h"
#include "CoordinatesExtract.h"
#include "CoordExtractWithMarker.h"
#include <sstream>
#include <iostream>
#include <fstream>
#include <vector>
#include <utility>
#include <cstring>

using namespace std;
using namespace cv;

class FindAnswer5{
public:
    FindAnswer5();
    FindAnswer5(CoordinatesExtract * ext);
    FindAnswer5(bool marcador);
    virtual ~FindAnswer5();

    vector<CvRect> formaQuadriculas(vector<Campo*> campos);
    double findNumberBlackPixels(IplImage* image, int height, int width);
    string compareAnswers(const char * archieveFileName, const char * answerFileName);
    string findAnswer(vector<CvRect> quadriculas, IplImage * dst);


    //Getters e setters
    CoordinatesExtract* getExtratorDeCoordenadas() const;
    void setExtratorDeCoordenadas(CoordinatesExtract* ext);

    void setPreprocess(PreProcessamento* preprocess);
    PreProcessamento* getPreprocess() const;

private:


    CoordinatesExtract* extratorDeCoordenadas;
    PreProcessamento* preprocess;


};

#endif /* FINDANSWER5_H_ */
